package one.stand.mapper;

import one.stand.entity.websocket.CompanyInfoEntity;
import one.stand.model.BusinessCardModel;
import one.stand.response.BusinessCardResponse;
import one.stand.response.GetCompanyStaffResponse;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * @author Administrator
 */
public interface BusinessCardMapper {
    int deleteByPrimaryKey(Integer cardId);


    int insertSelective(BusinessCardModel record);

    BusinessCardModel select(BusinessCardModel record);

    BusinessCardModel selectMyCard(BusinessCardModel record);

    List<BusinessCardModel> selectList(BusinessCardModel record);

    BusinessCardModel selectByPrimaryKey(Integer cardId);

    BusinessCardModel selectCrmPersonalData(Integer cardId);

    int getBrowseNum(Integer cardId);

    String getBrowsePhoto(Integer cardId);

    String selectTwoCode(Integer cardId);

    int updateByPrimaryKeySelective(BusinessCardModel record);

    int delBusinessCard(BusinessCardModel record);

    BusinessCardModel getBusinessPerfectRate(Integer cardId);

    /**
     * 获取公司员工
     * @return
     */
    List<GetCompanyStaffResponse> getCompanyStaffList(BusinessCardModel model);


    /**
     * 获取聊天目标对象公司信息
     * @return
     */
    CompanyInfoEntity getCompanyInfo(Long cardId);

    List<BusinessCardModel> getUserInfo(BusinessCardModel model);

    BusinessCardModel getCardPhone(BusinessCardModel model);

    BusinessCardModel selectRepeatInfo(BusinessCardModel model);

    int addSeeNum(@Param("cardId")Integer cardId);

    int addThumbsNum(@Param("cardId")Integer cardId);

    int delThumbsNum(@Param("cardId")Integer cardId);

    List<BusinessCardModel> selectCustomerList(BusinessCardModel model);

    BusinessCardModel getCustomerInfo(BusinessCardModel model);

    int stopCustomer(BusinessCardModel model);

    int updatePerfectRate(BusinessCardModel model);

    /**
     * 获取bossId
     * @param companyId
     * @return
     */
    Integer getBoosCardId(Integer companyId);
}